From b3327776aef45f26829933d26870f22ed8c27e36 Mon Sep 17 00:00:00 2001 From: Keir Fraser Date: Mon, 5 May 2008 10:16:58 +0100 Subject: [PATCH] Fix the address calculation of acpi enable reg according to ACPI spec. Signed-off-by: Wei Gang --- xen/arch/x86/acpi/boot.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/xen/arch/x86/acpi/boot.c b/xen/arch/x86/acpi/boot.c index 6ff77d3566..1cc148b2e3 100644 --- a/xen/arch/x86/acpi/boot.c +++ b/xen/arch/x86/acpi/boot.c @@ -475,8 +475,12 @@ acpi_fadt_parse_reg(struct acpi_table_fadt *fadt) sizeof(acpi_gbl_xpm1a_enable)); memcpy(&acpi_gbl_xpm1b_enable, &fadt->xpm1b_event_block, sizeof(acpi_gbl_xpm1b_enable)); - acpi_gbl_xpm1a_enable.address += 2; - acpi_gbl_xpm1b_enable.address += 2; + + acpi_gbl_xpm1a_enable.address += + acpi_gbl_FADT.pm1_event_length / 2; + if ( acpi_gbl_xpm1b_enable.address ) + acpi_gbl_xpm1b_enable.address += + acpi_gbl_FADT.pm1_event_length / 2; } } -- 2.30.2